Service composition refers to a technology, where end user services, which are provided to user equipments such as personal computers, laptop computers, or mobile phones of a telecommunications network, are dynamically built by combining constituent services. The selection of the constituent services as components of the composite service may be performed just in time at user request. The needed constituent services are described in terms of required generic properties. Any service that provides the needed properties can be used as part of the composite service. Rather than fixed binding of a particular service any suitable service within a pool of available services can be selected. The pool of available constituent services can change dynamically by adding new services and/or by removing them. A composite service can therefore consist of different constituent services at each invocation. Thus, the set of component services that are actually included into a composite service may not be static, but depending on runtime conditions. The constituent services do not need to be specifically designed for service composition. They can be integrated into a composite service, but they can also work as a single service.
WO 2009/141000 discloses a method of correlating a plurality of service instances by a service composition node, wherein the services are performed by one or a plurality of application servers of a telecommunications network. Thereto, the service composition node performs the steps of invoking a composite service instance corresponding to a service request, and generating a composite service identifier identifying this composite service instance, contacting the one or a plurality of application servers for invoking the plurality of component service instances, wherein the plurality of component service instances are associated to the composite service instance, and sending a first service report comprising an information about the composite service instance to a service supervision system, wherein this information enables the service supervision system to identify reports about the component service instances as being associated to the composite service instance. The service supervision system may be used for charging and billing the user for the composite service(s) provided. For instance for an offline charging, the service composition node might generate a so-called Charge Data Record (CDR) that is transferred to the service supervision system. The CDR might contain the ID of the composite service instance and the IDs of all involved services and sessions. The service supervision system, at the time of processing the record, is then able to correlate the composite service to its components and adapt the resulting charging accordingly.
A special case of execution of composite services or composite applications is given when some or all of the constituent service instances are executed on a network device having only limited hardware and/or software resources. Typically, such resources are often limited when the network device is accessed remotely for instance via the Internet or a cellular network. Further, storage limitations of the network device may prevent it from having all possible services pre-installed and ready to be executed. The latter holds in particular for embedded devices.
In order to overcome storage limitations of the network device it is known to download and install the program code of a service that would be needed to execute some services on the network device. For example, the network device could download and install Open Service Gateway Initiative (OSGi) bundles for these services when instructed to do so. However, for initiating such a download and installation procedure the network device has to specify exactly what bundle must be installed and later executed.
There may be a need for providing flexible solution for executing composite services in particular on a network device having a limited storage capacity.